import request from '@/utils/request'

const LowCode = '/lowCode'
const Board = `${LowCode}/board`
const BoardCategoryManager = `${LowCode}/boardCategoryManager`
const BoardTemplate = `${LowCode}/getTemplateList`

const BoardApi = {
  boardAndCategory: `${BoardCategoryManager}/list`,
  editBoardAttr: `${Board}/editBoardAttrById`,
  editBoardPage: `${Board}/editBoardPageById`,
  editAttr: `${BoardCategoryManager}/editAttr`,
  boardCategoryTree: `${BoardCategoryManager}/getBoardCategoryTree`,
  boardTemplate: `${BoardTemplate}/getTemplateList`,
  addBoard: `${Board}/addBoard`,
  getBoardById: `${Board}/query`,
  deleteBoardByIds: `${Board}/deleteBoardByIds`,
  deleteBoardCategoryByIds: `${BoardCategoryManager}/deleteBoardCategoryByIds`,
}

/**
 * 根据parentId获取仪表盘和分类的列表
 * @param {*} parameter
 * @returns
 */
export function getBoardAndCategoryListByParentId(parameter) {
  return request({
    url: BoardApi.boardAndCategory,
    method: 'post',
    data: parameter,
  })
}

/**
 * 获取所有保存路径
 * @param {*} parameter
 * @returns
 */
export function getBoardCategoryTree(parameter) {
  return request({
    url: BoardApi.boardCategoryTree,
    method: 'get',
    params: parameter,
  })
}

/**
 * 编辑仪表盘属性(不包括仪表盘内部的组件json)
 * @param {*} parameter
 * @returns
 */
export function editBoardAttrById(parameter) {
  return request({
    url: BoardApi.editBoardAttr,
    method: 'post',
    data: parameter,
  })
}
/**
 * 编辑仪表盘和分类属性(不包括仪表盘内部的组件json)
 * @param {*} parameter
 * @returns
 */
export function editAttr(parameter) {
  return request({
    url: BoardApi.editAttr,
    method: 'post',
    data: parameter,
  })
}

/**
 * 获取模板列表
 * @param {*} parameter
 * @returns
 */
export function getTemplateList(parameter) {
  return request({
    url: BoardApi.boardTemplate,
    method: 'get',
    params: parameter,
  })
}

/**
 * 新增仪表盘和分类
 * @param {*} parameter
 * @returns
 */
export function add(parameter) {
  return request({
    url: BoardApi.add,
    method: 'post',
    data: parameter,
  })
}

/**
 * 根据id获取仪表盘
 * @param {*} parameter
 * @returns
 */
export function getBoardById(parameter) {
  return request({
    url: BoardApi.getBoardById,
    method: 'get',
    params: parameter,
  })
}

/**
 * 编辑仪表盘组件和页面
 * @param {*} parameter
 * @returns
 */
export function editBoardPage(parameter) {
  return request({
    url: BoardApi.editBoardPage,
    method: 'post',
    data: parameter,
  })
}

/**
 * 删除仪表盘
 * @param {*} parameter
 * @returns
 */
export function deleteBoardByIds(parameter) {
  return request({
    url: BoardApi.deleteBoardByIds,
    method: 'get',
    params: parameter,
  })
}

/**
 * 删除仪表盘分类
 * @param {*} parameter
 * @returns
 */
export function deleteBoardCategoryByIds(parameter) {
  return request({
    url: BoardApi.deleteBoardCategoryByIds,
    method: 'get',
    params: parameter,
  })
}
